package com.night.icm.model.base;

import com.night.icm.common.utils.SexType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * StudentBaseDTO
 * 学生基础信息
 *
 * @author Liao ZhiYong
 * @date 2020/1/5
 */
@ApiModel(description = "学生基础信息")
@Data
@EqualsAndHashCode(callSuper = false)
public class StudentBaseDTO {

    @ApiModelProperty(position = 110, value = "学生id，自增")
    private String id;

    @ApiModelProperty(position = 120, value = "学生编号(学号)", required = true)
    private String code;

    @ApiModelProperty(position = 130, value = "学生姓名", required = true)
    private String name;

    @ApiModelProperty(position = 140, value = "学生性别")
    private SexType gender;

    @ApiModelProperty(position = 150, value = "所属年级，即入学年份", required = true)
    private String grade;

    @ApiModelProperty(position = 160, value = "学制，即学习年限，正常本科4年，专科3年", required = true)
    private String studyYears;

    @ApiModelProperty(position = 170, value = "入学时间", required = true, example = "2019-10-25")
    @NotNull
    private Date joinTime;

    @ApiModelProperty(position = 180, value = "是否班级测评管理员", required = true)
    private Boolean isClassEvaluationAdmin;

    @ApiModelProperty(position = 190, value = "学生详细信息")
    private StudentDetailDTO studentDetail;

}